package iconSwingStates.Transitions.TransitionOnTag;

import fr.emn.reactiveinput.SlotType;
import iconSwingStates.Transitions.TransitionOnTag.TActionOnTag;
/**
 * TTyped corresponds to the SwingStates KeyTyped and MouseClicked transition, over a given tag. It is fired when a button is pressed then released over a given tag
 * @author uribe - gaget
 *
 */
public class TTypedOnTag   extends TActionOnTag{



	/**
	 * Constructor without slots, except the default boolean one
	 * @param nomTransition Name of the transition
	 * @param pointer Name of the pointer
	 * @param obligatory True if the slot must be connected
	 * @param tag The tag
	 */
	public TTypedOnTag(String nomTransition, String pointer, boolean obligatory,
			String tag) {
		super(nomTransition, pointer, SlotType.BOOLEAN, obligatory, tag);
	}
	/**
	 * Constructor without slots, except the default boolean one
	 * @param nomTransition Name of the transition
	 * @param pointer Name of the pointer
	 * @param obligatory True if the slot must be connected
	 * @param tag The tag
	 * @param outputState The output state
	 */
	public TTypedOnTag(String nomTransition, String pointer,  boolean obligatory,
			String tag, String outputState) {
		super(nomTransition, pointer, SlotType.BOOLEAN, obligatory, tag, outputState);
	}

	/**
	 * Constructor for transitions with a pointer and more than one slot
	 * @param nomTransition Name of the transition
	 * @param pointer The name of the pointer
	 * @param type Type of the slot
	 * @param obligatory True if the slot must be connected
	 * @param synchro True if the slots must have a synchronized activity
	 * @param tag The tag
	 */
	public TTypedOnTag(String nomTransition, String pointer, int[] type, boolean obligatory,
			boolean synchro, String tag) {
		super(nomTransition, pointer, type, obligatory, synchro, tag);
	}

	/**
	 * Constructor for transitions with a pointer and more than one slot
	 * @param nomTransition Name of the transition
	 * @param pointer The name of the pointer
	 * @param type Type of the slot
	 * @param obligatory True if the slot must be connected
	 * @param synchro True if the slots must have a synchronized activity
	 * @param tag The tag
	 * @param outputState The output state
	 */
	public TTypedOnTag(String nomTransition,String pointer, int[] type, boolean obligatory,
			boolean synchro, String tag,  String outputState) {
		super(nomTransition, pointer, type, obligatory, synchro, tag, outputState);
	}

}
